/**
 * app controller js code
 */
define(function(require, exports) {

	//加载依赖
	require("ajaxproxy");
	var common = require("common");
	var template = require("jtemplate");
	template.config("openTag", "{[");
	template.config("closeTag", "]}");

	exports.init = function(configs) {
		//初始化AjaxProxy插件
		$('#submit_btn').AjaxProxy({
			dataType : "json",
			successCode : "000", //成功时返回的code
			method : "post",
			formId : "content-add-form",
			formCheckHandler : function(form_id) {
				return common.formCheckHandler(form_id, true);
			},
			callbackDelay : __global.jdialog.timer,
			timeInterval : __global.jdialog.timer,
			callBefore : function() {
				return true;
			},
			callBack : function (data) {   /* 执行ajax之后的回调函数 */
				common.ajaxCallback(data);
			}
		});

		exports.bindUser();

		common.searchInit({formId : 'search-form'});
		exports.bswitctListInit(configs);

		//编辑数据
		$(".item-edit").on("click", function() {

			$.get(configs.edit_url, {
				id : $(this).data("id")
			}, function(res) {
				if ( res.code == '000' ) {

					common.post("编辑MPE", "content-add-template", {width:700, height:0}, res.data, configs.update_url);

				} else {
					common.message({
						type: __global.jdialog.messageType[res.code],
						content:res.message,
						lock : true
					});
				}
			}, 'json')

		});

	}

	////绑定大塑账户
	exports.bindUser = function() {

		$('#user-bind').on('click', function() {
			var html = template("user-band-template", {});
			var options = {
				title : '大塑大塑账户',
				content : html,
				icon : 'none',
				width : 400,
				height : 0,
				top : 0,
				container : '#right-section',
				button : {
					'保存' : function() {
						var username = $('input[name="account"]').val().trim();
						if ( username == '' ) {
							common.message({
								type: 'error',
								container:'.jdialog_win_box',
								content:'请输入大易支付账户'
							});
							$('input[name="account"]').focus();
							return;
						}
						popWin.lock();
						$.post("/admin/mpe/bindUser/", {
							username : username,
							appid : $('#appid').val()
						}, function (data) {

							popWin.close();
							if ( data.code == '000' ) { //操作成功
								$('input[name="data[userid]"]').val(data.message.userid);
								$('input[name="data[company]"]').val(data.message.company);
								$('#username').html(username);
								common.message({
									type: __global.jdialog.messageType[data.code],
									content:"绑定用户成功"
								});
							} else {
								common.message({
									type: __global.jdialog.messageType[data.code],
									content:data.message
								});
							}

						}, 'json');

					},
					'取消' : function() {
						popWin.close();
					}
				}
			}
			var options = $.extend(__global.jdialog, options);
			var popWin = JDialog.win.work(options);
		});

	}

	//列表页面的bootswitch初始化
	exports.bswitctListInit = function(configs) {

		$('.bswitch-list').on("switchChange.bootstrapSwitch", function(event, state) {

			if ( $(this).data("cancel") ) {
				$(this).data("cancel", false);
				return false;
			}

			var id = $(this).data('id');
			var field = $(this).data('field');
			var content, that = this;
			if ( state == false ) {
				content = '关闭后该MPE系统将不能再被访问和提供服务，您真的要关闭该MPE系统吗？';
			} else {
				content = '确定要重新开通该MPE系统吗？';
			}
			var value = state == false ? 0 : 1;
			var options = {
				title : '操作提示',
				content : content,
				icon : 'ico0',
				width : 400,
				height : 180,
				container : '#right-section',
				showCloseBtn : false, //不显示关闭按钮
				button : {
					'保存' : function() {
						popWin.lock();
						$.post(configs.set_url, {
							id : id,
							field : field,
							value : value
						}, function(data) {

							common.message({
								type:__global.jdialog.messageType[data.code],
								top : __global.jdialog.top,
								content:data.message,
								lock:false
							});

							popWin.close();

						}, 'json');

					},
					'取消' : function() {
						popWin.close();
						$(that).data('cancel', true);
						if ( state == false ) {
							$(that).bootstrapSwitch('state', true);
						} else {
							$(that).bootstrapSwitch('state', false);
						}
					}
				}
			}
			var options = $.extend(__global.jdialog, options);
			var popWin = JDialog.win.work(options);
		});
	}
});
